#ifndef _SEGMENT_H
#define _SEGMENT_H

#include <iostream>
#include <math.h>
#include <pcl/ModelCoefficients.h>
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/filters/extract_indices.h>
#include <pcl/filters/voxel_grid.h>
#include <pcl/features/normal_3d.h>
#include <pcl/kdtree/kdtree.h>
#include <pcl/sample_consensus/method_types.h>
#include <pcl/sample_consensus/model_types.h>
#include <pcl/segmentation/sac_segmentation.h>
#include <pcl/segmentation/extract_clusters.h>

pcl::ModelCoefficients::Ptr Plane_model_segment(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_out, pcl::PointIndices::Ptr inliers, bool option);
pcl::PointCloud<pcl::PointXYZ>::Ptr get_forward_plane(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_downsample);

#endif